<?php
/*
根据以下的参考可知，sae的功能是最小集合。


http://sae.sina.com.cn/?m=devcenter&catId=201
文档中心 » 平台介绍 » 服务列表 » Memcache
 服务概要
 应用场景
 使用指南
　　 开启Memcache
　　 关闭Memcache
　　 使用Memcache
收起
服务概要

    Memcache是SAE为开发者提供的分布式缓存服务，用来以共享的方式缓存用户的小数据。用户需要先在在线管理平台创建Memcache，然后通过标准的memcache*函数读写Memcache。

    特别注意：

    1. SAE平台的Memcache技术指标和标准的Memcache相同，不适合存放大文件，目前服务配置为仅允许存放小于1M的数据
    2. SAE Memcache不需要用户调用memcache_connect函数，取而代之的，用户在get、set之前需要调用memcache_init函数
 

应用场景

    因为SAE的Web Service是分布式环境，所以当用户需要共享的缓存某些key-value形式的小数据时，就需要用Memcache服务，这样可以快速进行数据响应，而且可以减轻后端存储的压力。

 

使用指南

    例子：

    appname: saetest
    appversion: 1
 
 开启Memcache

    您需要先到SAE在线管理平台开通Memcache服务，在服务管理=>Memcache页面开通Memcache服务后，就可以通过在线管理平台的UI接口，测试Memcache读写情况，以确认开通成功。

 关闭Memcache

    在您不需要使用缓存服务时，也可以在在线管理平台禁用Memcache服务.禁用后，用户就不可以再使用分布式缓存服务。

    特别注意：当禁用后，原有的缓存数据将全部被删除！

 使用Memcache

    Memcache服务目前提供以下接口：

    memcache_init - 初始化MC链接
    memcache_get - 获取MC数据
    memcache_set - 存入MC数据
    除memcache_init外,其他接口和php的memcahe模块保持一致.
 
    需要注意的是，memcache_connect()、Memcache::connect()、memcache_pconnect()、Memcache::pconnect()、memcache_add_server() 、Memcache::addServer()、memcache_set_server_params() 、Memcache::setServerParams()、memcache_get_server_status() 、Memcache::getServerStatus() 等函数不建议使用。 

    使用示例：

    $mmc=memcache_init();
    if($mmc==false)
        echo "mc init failed\n";
    else
    {
        memcache_set($mmc,"key","value");
        echo memcache_get($mmc,"key");
    }

http://ace.aliyun.com/index/help/?help_id=79&sort_id=11
Memcache
系统概要

    分布式缓存管理-Memcache 是ACE为开发者提供的分布式缓存服务，用来以共享的方式缓存用户的key-value形式的小数据，以加快数据响应，减轻后端存储的压力。
          分布式缓存管理-memcache模块主要提供以下功能：
  
     1.   初始化memcache连接

     2.   获取memcache数据

     3.   写入memcache数据

     4.   刷新memcache数据


使用指南
 
实用接口：
bool Memcache::init ()
array Memcache::get ( array $keys [, array &$flags ] )
bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )  
bool decrement ( string $key [, int $value = 1 ] )   
bool increment ( string $key [, int $value = 1 ] )    
bool delete ( string $key [, int $timeout = 0 ] )      
bool close ()

空接口：
bool addServer* *( string $host [, int $port = 11211 [, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool$status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )
bool connect* *( string $host [, int $port [, int $timeout ]] )
bool flush* *( void )
bool* *pconnect ( string $host [, int $port [, int $timeout ]] )
bool setServerParams* *( string $host [, int $port = 11211 [, int $timeout [, int $retry_interval = false [, bool $status [, callback$failure_callback ]]]]] )

用例
<?php
 $mem = new Memcache;
 $mem->init();
 $mem->set('key6', 'hello', 0, 120);
 $val = $mem->get('key6');
 echo "Get key6 value:".$val."<br>";
 $mem->add('key7', 'welcome you', 0, 120);
 $val = $mem->get('key7');
 echo "Get add key7 value:".$var."<br>";
 $mem->set('key7', 'welcome', 0, 120);
 $val = $mem->get('key7');
 echo "Get key7 value:".$val."<br>";
 $mem->set('key8', 'thanks', 0, 120);
 $val = $mem->get('key8');
 echo "Get key8 value:".$val."<br>";
 $mem->replace('key8', 'thank you', false, 120);
 $val = $mem->get('key8');
 echo "Get replace key8 value:".$val."<br>";
 $mem->delete('key6');
 $val = $mem->get('key6');
 echo "Get key6 value after delete:".$val."<br>";
 $mem->close();
?>



http://dev.baidu.com/wiki/bae/index.php?title=Cache
Cache
目录[隐藏]
1 简介
2 使用示例
3 支持的api列表
3.1 __construct
3.2 add
3.3 get
3.4 set
3.5 replace
3.6 increment
3.7 decrement
3.8 delete
4 注意事项
简介
Cache系统采用百度内部开发的分布式cache系统作为后端实现。为了降低开发门槛，方便开发者进行开发，用户接口采用在业界广泛应用的开源软件系统Memcache的接口。
可以到官网http://memcached.org 详细了解Memcache。
云平台兼容的memcacheapi版本是http://cn.php.net/memcache。

使用示例
<?php
   require_once ('BaeMemcache.class.php');
   $mem = new BaeMemcache();
   $mem->add("key","value");
   $mem->get("key");
?>

支持的api列表
__construct
原型：
public function __construct()
功能：构造BaeMemcache对象
参数：无
返回值：
返回值	 说明
BaeMemcache类型或者异常	 成功时返回BaeMemcache类型对象，失败时抛出BaeException异常


add
原型
public function add ($key, $var, $flag=0, $expire=0)
功能：往cache中添加$key关联的值
参数：
参数	 说明
$key	 存储的key,string类型
$var	 存储的value，mixed类型
$flag	 可设置为MEMCACHE_COMPRESSED，用zlib来压缩value，现在不起作用，int类型
$expire	 以秒为单位的失效时间，int类型
返回值
返回值	 说明
bool类型	 成功返回true，失败返回false

get
原型
public function get($key, $flag= null)
功能：获取cache中存储的$key的值
参数：
参数	 说明
$key	 类型，mixed，要获取的key，可为字符串或者数组
$flag	 mixed,可选参数，设置时获取的值到将写入到这个变量中
返回值：
返回值	 说明
mixed类型	 失败或key未找到的时候返回false,成功时返回查询到的value，string/array类型

set
原型
public function set($key, $var, $flag=0, $expire=0)
功能：设置cache中$key的值为 $var
参数：
参数	 说明
$key	 存储的key,string类型
$var	 存储的value，mixed类型
$flag	 可设置为MEMCACHE_COMPRESSED，用zlib来压缩value，现在不起作用，int类型
$expire	 以秒为单位的失效时间，int类型
返回值：
返回值	 说明
bool类型	 成功返回true，失败返回false

replace
原型
public function replace($key, $var, $flag= 0, $expire= 0)
功能：替换cache中$key的值为$ var
参数：
参数	 说明
$key	 待替换的key，string类型
$var	 新的value,mixed类型
$flag	 可设置为MEMCACHE_COMPRESSED，用zlib来压缩value，现阶段不起作用，int类型
$expire	 以秒为单位的失效时间，int类型
返回值：
返回值	 说明
bool类型	 成功返回true，失败返回false

increment
原型
public function increment($key, $value= 1)
功能：增加cache中存储的$key的值
参数：
参数	 说明
$key	 要操作的key，string类型
$value	 增加的值，默认为1. 如果指定的key 对应的元素不是数值类型并且不能被转换为数值， 会将此值修改为$value，int类型
返回值：
返回值	 说明
mixed类型	 成功时返回新的元素值失败时返回false。

decrement
原型
public function decrement($key, $value= 1)
功能：减小cache中存储的$key的值
参数
参数	 说明
$key	 要操作的key，string类型
$value	 减少的值，默认为1. 如果指定的key 对应的元素不是数值类型并且不能被转换为数值， 会将此值修改为$value，int类型，如果运算结果小于0，则返回的结果是0
返回值：
返回值	 说明
mixed类型	 成功时返回新的元素值失败时返回false。

delete
原型
public function delete ($key，$expire=0)
功能：删除cache中存储的$key的值
参数：
参数	 说明
$key	 要操作的key，string类型
$expire	 延迟删除时间，单位秒，默认为0
返回值：
返回值	 说明
bool类型	 成功返回true，失败返回false



注意事项
接口中的flag参数字段不起作用
key的最大长度为180字节
value最大长度为1M
一次批量操作包含的原子操作数量最大为60
*/
?>